import type { RouteRecordRaw } from 'vue-router';

const routes: RouteRecordRaw[] = [
  {
    path: '/hotel',
    name: 'Hotel',
    meta: {
      title: '酒店管理',
      icon: 'ant-design:home-filled',
      orderNo: 10,
    },
    children: [
      {
        path: 'room-dashboard',
        name: 'HotelRoomDashboard',
        component: () => import('#/views/hotel/room-dashboard/index.vue'),
        meta: {
          title: '房间控制台',
          icon: 'ant-design:dashboard-filled',
          hideInMenu: false,
        },
      },
      {
        path: 'room-management',
        name: 'HotelRoomManagement',
        component: () => import('#/views/hotel/room-management/index.vue'),
        meta: {
          title: '房源管理',
          icon: 'ant-design:home-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'tenant-management',
        name: 'HotelTenantManagement',
        component: () => import('#/views/hotel/tenant-management/index.vue'),
        meta: {
          title: '租客管理',
          icon: 'ant-design:user-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'fee-management',
        name: 'HotelFeeManagement',
        component: () => import('#/views/hotel/fee-management/index.vue'),
        meta: {
          title: '费用管理',
          icon: 'ant-design:account-book-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'maintenance',
        name: 'HotelMaintenance',
        component: () => import('#/views/hotel/maintenance/index.vue'),
        meta: {
          title: '维修工单',
          icon: 'ant-design:tool-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'maintenance/work-orders',
        name: 'HotelMaintenanceWorkOrders',
        component: () => import('#/views/hotel/maintenance/work-orders.vue'),
        meta: {
          title: '工单管理',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'maintenance/technicians',
        name: 'HotelMaintenanceTechnicians',
        component: () => import('#/views/hotel/maintenance/technicians.vue'),
        meta: {
          title: '维修人员',
          icon: 'ant-design:team-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'maintenance/standards',
        name: 'HotelMaintenanceStandards',
        component: () => import('#/views/hotel/maintenance/standards.vue'),
        meta: {
          title: '维修标准',
          icon: 'ant-design:setting-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'maintenance/quality',
        name: 'HotelMaintenanceQuality',
        component: () => import('#/views/hotel/maintenance/quality.vue'),
        meta: {
          title: '质量检查',
          icon: 'ant-design:audit-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'maintenance/records',
        name: 'HotelMaintenanceRecords',
        component: () => import('#/views/hotel/maintenance/records.vue'),
        meta: {
          title: '维修记录',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'maintenance/inventory',
        name: 'HotelMaintenanceInventory',
        component: () => import('#/views/hotel/maintenance/inventory.vue'),
        meta: {
          title: '配件库存',
          icon: 'ant-design:database-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices',
        name: 'HotelIOTDevices',
        component: () => import('#/views/hotel/iot-devices/index.vue'),
        meta: {
          title: '智能设备',
          icon: 'ant-design:robot-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'iot-devices/locks',
        name: 'HotelIOTLocks',
        component: () =>
          import('#/views/hotel/iot-devices/categories/locks.vue'),
        meta: {
          title: '门锁管理',
          icon: 'ant-design:lock-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/meters',
        name: 'HotelIOTMeters',
        component: () =>
          import('#/views/hotel/iot-devices/categories/meters.vue'),
        meta: {
          title: '水电表监控',
          icon: 'ant-design:thunderbolt-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/security',
        name: 'HotelIOTSecurity',
        component: () =>
          import('#/views/hotel/iot-devices/categories/security.vue'),
        meta: {
          title: '安防设备',
          icon: 'ant-design:safety-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/environment',
        name: 'HotelIOTEnvironment',
        component: () =>
          import('#/views/hotel/iot-devices/categories/environment.vue'),
        meta: {
          title: '环境监控',
          icon: 'ant-design:cloud-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/sensors',
        name: 'HotelIOTSensors',
        component: () =>
          import('#/views/hotel/iot-devices/categories/sensors.vue'),
        meta: {
          title: '传感器',
          icon: 'ant-design:radar-chart-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/controllers',
        name: 'HotelIOTControllers',
        component: () =>
          import('#/views/hotel/iot-devices/categories/controllers.vue'),
        meta: {
          title: '控制器',
          icon: 'ant-design:control-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'iot-devices/detail/:id',
        name: 'HotelIOTDeviceDetail',
        component: () => import('#/views/hotel/iot-devices/device-detail.vue'),
        meta: {
          title: '设备详情',
          hideInMenu: true,
          hideTab: true,
          currentActiveMenu: '/hotel/iot-devices',
        },
      },
      {
        path: 'order-management',
        name: 'HotelOrderManagement',
        component: () => import('#/views/hotel/order-management/index.vue'),
        meta: {
          title: '订单管理',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'order-management/detail/:id',
        name: 'HotelOrderDetail',
        component: () => import('#/views/hotel/order-management/detail.vue'),
        meta: {
          title: '订单详情',
          hideInMenu: true,
          hideTab: true,
          currentActiveMenu: '/hotel/order-management',
        },
      },
      {
        path: 'order-management/card-making',
        name: 'HotelCardMaking',
        component: () =>
          import('#/views/hotel/order-management/card-making.vue'),
        meta: {
          title: '制卡记录',
          hideInMenu: true,
          hideTab: true,
          currentActiveMenu: '/hotel/order-management',
        },
      },
      {
        path: 'order-management/security-upload',
        name: 'HotelSecurityUpload',
        component: () =>
          import('#/views/hotel/order-management/security-upload.vue'),
        meta: {
          title: '公安上传记录',
          hideInMenu: true,
          hideTab: true,
          currentActiveMenu: '/hotel/order-management',
        },
      },
      {
        path: 'future-room-status',
        name: 'HotelFutureRoomStatus',
        component: () => import('#/views/hotel/future-room-status/index.vue'),
        meta: {
          title: '远期房态',
          icon: 'ant-design:calendar-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'quick-booking',
        name: 'HotelQuickBooking',
        component: () => import('#/views/hotel/quick-booking/index.vue'),
        meta: {
          title: '快速预订',
          icon: 'ant-design:plus-circle-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'night-audit',
        name: 'HotelNightAudit',
        component: () => import('#/views/hotel/night-audit/index.vue'),
        meta: {
          title: '夜审',
          icon: 'ant-design:audit-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'announcement',
        name: 'HotelAnnouncement',
        component: () => import('#/views/hotel/announcement/index.vue'),
        meta: {
          title: '公告管理',
          icon: 'ant-design:notification-filled',
          hideInMenu: false,
        },
      },
      {
        path: 'reports',
        name: 'HotelReports',
        component: () => import('#/views/hotel/reports/index.vue'),
        meta: {
          title: '报表分析',
          icon: 'ant-design:bar-chart-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'appointment',
        name: 'HotelAppointment',
        component: () => import('#/views/hotel/appointment/index.vue'),
        meta: {
          title: '预约看房',
          icon: 'ant-design:calendar-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'contract',
        name: 'HotelContract',
        component: () => import('#/views/hotel/contract/index.vue'),
        meta: {
          title: '电子合同',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'checkin',
        name: 'HotelCheckin',
        component: () => import('#/views/hotel/checkin/index.vue'),
        meta: {
          title: '入住手续',
          icon: 'ant-design:login-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'checkout',
        name: 'HotelCheckout',
        component: () => import('#/views/hotel/checkout/index.vue'),
        meta: {
          title: '退房流程',
          icon: 'ant-design:logout-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'service-management',
        name: 'HotelServiceManagement',
        component: () => import('#/views/hotel/service-management/index.vue'),
        meta: {
          title: '服务管理',
          icon: 'ant-design:customer-service-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'work-orders',
        name: 'HotelWorkOrders',
        component: () => import('#/views/hotel/work-orders/index.vue'),
        meta: {
          title: '报修工单',
          icon: 'ant-design:tool-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'analytics',
        name: 'HotelAnalytics',
        component: () => import('#/views/hotel/analytics/index.vue'),
        meta: {
          title: '数据与分析',
          icon: 'ant-design:bar-chart-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'cleaning',
        name: 'HotelCleaning',
        component: () => import('#/views/hotel/cleaning/index.vue'),
        meta: {
          title: '清洁管理',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: false,
        },
      },
      {
        path: 'cleaning/tasks',
        name: 'HotelCleaningTasks',
        component: () => import('#/views/hotel/cleaning/tasks.vue'),
        meta: {
          title: '清洁任务',
          icon: 'ant-design:file-text-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'cleaning/staff',
        name: 'HotelCleaningStaff',
        component: () => import('#/views/hotel/cleaning/staff.vue'),
        meta: {
          title: '清洁人员',
          icon: 'ant-design:team-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'cleaning/standards',
        name: 'HotelCleaningStandards',
        component: () => import('#/views/hotel/cleaning/standards.vue'),
        meta: {
          title: '清洁标准',
          icon: 'ant-design:setting-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'cleaning/inspection',
        name: 'HotelCleaningInspection',
        component: () => import('#/views/hotel/cleaning/inspection.vue'),
        meta: {
          title: '质量检查',
          icon: 'ant-design:audit-outlined',
          hideInMenu: true,
        },
      },
      {
        path: 'cleaning/records',
        name: 'HotelCleaningRecords',
        component: () => import('#/views/hotel/cleaning/records.vue'),
        meta: {
          title: '记录追踪',
          icon: 'ant-design:history-outlined',
          hideInMenu: true,
        },
      },
    ],
  },
];

export default routes;
